The field of this disclosure relates generally to systems and methods of data reading, and more particularly but not exclusively to reading optical codes (e.g., barcodes).
Optical codes encode useful, optically-readable information about the objects to which they are attached or otherwise associated. Perhaps the best example of an optical code is the barcode. Barcodes are found on or associated with objects of various types, such as the packaging of retail, wholesale, and inventory goods; retail product presentation fixtures (e.g., shelves); goods undergoing manufacturing; personal or company assets; and documents. By encoding information, a barcode typically serves as an identifier of an object, whether the identification be to a class of objects (e.g., containers of milk) or a unique item.
Various types of optical code readers, also known as scanners, such as manual readers, semi-automatic readers and automated readers, are available to acquire and decode the information encoded in optical codes. In a manual reader (e.g., a hand-held type reader, or a fixed-position reader), a human operator positions an object relative to the reader to read the optical code associated with the object. In a semi-automatic reader, either checker-assisted or self-checkout, objects are moved one at a time by the user into or through the read zone of the reader and the reader then reads the optical code on the object. In an automated reader (e.g., a portal or tunnel scanner), an object is automatically positioned (e.g., transported through the read zone via a conveyor) relative to the reader, with the reader automatically reading the optical code on the object.
When an optical code reader attempts to read an optical code on an object, certain read errors may occur, or the reader may fail to read the optical code. For example, when a read error or read failure occurs with a manual or semi-automatic reader, the human operator typically rescans the optical code or manually enters (e.g., via a keyboard) a number (e.g., a UPC number) corresponding to the object. In an automated self-checkout reader, the reader needs to determine automatically whether an error or an unexpected event occurs and if such an error or unexpected event occurs take appropriate exception action. Accordingly, the present inventor has recognized a need to accurately identify and handle read errors or read failures and unexpected events that may occur in automated readers.